package com.mojo.elastic.pojo;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.data.annotation.Id;
import org.springframework.data.elasticsearch.annotations.Document;
import org.springframework.data.elasticsearch.annotations.Field;
import org.springframework.data.elasticsearch.annotations.FieldType;

import java.io.Serializable;

@Data
@NoArgsConstructor
@AllArgsConstructor
@Document(indexName = "jw_apply")
public class UserCompanyAssigned implements Serializable {
    @Id
    private Integer id;
    private Integer userId;
    private Integer companyId;
    private Integer jobId;
    private String isOk;
    private String mark;
    private Integer number;
    private Integer userResumeId;
    private String isUserShow;
    @Field(type = FieldType.Text, searchAnalyzer = "ik_max_word", analyzer = "ik_max_word")
    private String content;
    private String isDelete;
    private String tail;
    private String cancelReason;
    private Integer isCancel;
    private String version;
    private Integer isSend;
    private Integer isOffer;
    private String cancelCause;
    private Integer insuranceId;
    private Integer currentStatus;
    private Integer currentState;
    private Integer accountType;
    private Integer adminId;
    private String adminRemark;
    private Integer userStatus;
    private Integer clearingStatus;
    private Integer isAssign;
    private Integer isMatch;
    private Integer userApplySource;
    private Integer prioritiseShowId;
    private Long createTime;
    private Long cancelTime;
    private Long adminUpdateTime;
    private String isShare;
    private Integer showJobId;

    @Override
    public String toString() {
        final StringBuilder sb = new StringBuilder("UserCompanyAssigned{");
        sb.append("id=").append(id);
        sb.append(", userId=").append(userId);
        sb.append(", companyId=").append(companyId);
        sb.append(", jobId=").append(jobId);
        sb.append(", isOk='").append(isOk).append('\'');
        sb.append(", mark='").append(mark).append('\'');
        sb.append(", number=").append(number);
        sb.append(", userResumeId=").append(userResumeId);
        sb.append(", isUserShow='").append(isUserShow).append('\'');
        sb.append(", content='").append(content).append('\'');
        sb.append(", isDelete='").append(isDelete).append('\'');
        sb.append(", tail='").append(tail).append('\'');
        sb.append(", cancelReason='").append(cancelReason).append('\'');
        sb.append(", isCancel=").append(isCancel);
        sb.append(", version='").append(version).append('\'');
        sb.append(", isSend=").append(isSend);
        sb.append(", isOffer=").append(isOffer);
        sb.append(", cancelCause='").append(cancelCause).append('\'');
        sb.append(", insuranceId=").append(insuranceId);
        sb.append(", currentStatus=").append(currentStatus);
        sb.append(", currentState=").append(currentState);
        sb.append(", accountType=").append(accountType);
        sb.append(", adminId=").append(adminId);
        sb.append(", adminRemark='").append(adminRemark).append('\'');
        sb.append(", userStatus=").append(userStatus);
        sb.append(", clearingStatus=").append(clearingStatus);
        sb.append(", isAssign=").append(isAssign);
        sb.append(", isMatch=").append(isMatch);
        sb.append(", userApplySource=").append(userApplySource);
        sb.append(", prioritiseShowId=").append(prioritiseShowId);
        sb.append(", createTime=").append(createTime);
        sb.append(", cancelTime=").append(cancelTime);
        sb.append(", adminUpdateTime=").append(adminUpdateTime);
        sb.append(", isShare='").append(isShare);
        sb.append(", showJobId='").append(showJobId).append('\'');
        sb.append('}');
        return sb.toString();
    }
}
